@echo off

:: 设置中文编码
chcp 65001 > nul

:: 直接使用Git路径（已确认安装在C:\Program Files\Git\cmd\git.exe）
set GIT_PATH="C:\Program Files\Git\cmd\git.exe"

echo 使用Git路径: %GIT_PATH%

:: 切换到项目根目录
cd /d e:\AI\sam2-service-deploy

echo 当前目录: %CD%

:: 设置远程仓库地址
set REMOTE_URL=https://gitee.com/wangzuquan/sam2-service-deploy.git

:: 检查.git目录是否存在（判断是否已初始化）
if not exist ".git" (
    echo 初始化Git仓库...
    %GIT_PATH% init
    if errorlevel 1 (
        echo 初始化失败，请检查Git配置。
        pause
        exit /b 1
    )
)

:: 添加远程仓库（如果不存在）
%GIT_PATH% remote -v | findstr "origin" > nul
if errorlevel 1 (
    echo 添加远程仓库: %REMOTE_URL%
    %GIT_PATH% remote add origin %REMOTE_URL%
    if errorlevel 1 (
        echo 添加远程仓库失败，请检查URL是否正确。
        pause
        exit /b 1
    )
)

:: 检查是否存在.gitignore文件，如果不存在则创建一个基础的
if not exist ".gitignore" (
    echo 创建.gitignore文件...
    echo # Python > .gitignore
    echo __pycache__/ >> .gitignore
    echo *.py[cod] >> .gitignore
    echo *$py.class >> .gitignore
    echo. >> .gitignore
    echo # 数据和结果文件 >> .gitignore
    echo data/ >> .gitignore
    echo results/ >> .gitignore
    echo logs/ >> .gitignore
    echo. >> .gitignore
    echo # 临时文件 >> .gitignore
    echo *.tmp >> .gitignore
    echo *.temp >> .gitignore
    echo. >> .gitignore
    echo # 编辑器目录和文件 >> .gitignore
    echo .idea/ >> .gitignore
    echo .vscode/ >> .gitignore
    echo *.swp >> .gitignore
    echo *.swo >> .gitignore
    echo *~ >> .gitignore
) else (
    echo .gitignore文件已存在
)

:: 添加所有文件到暂存区
%GIT_PATH% add .
if errorlevel 1 (
    echo 添加文件失败，请检查文件权限。
    pause
    exit /b 1
)

:: 提交更改
set COMMIT_MSG=更新项目 - %date% %time%
%GIT_PATH% commit -m "%COMMIT_MSG%"
if errorlevel 1 (
    echo 提交失败，可能没有需要提交的更改。
    pause
    exit /b 1
)

:: 推送到远程仓库
%GIT_PATH% push -u origin master
if errorlevel 1 (
    echo 推送失败，请检查网络连接和仓库权限。
    echo 您可能需要手动输入Gitee的用户名和密码。
    pause
    exit /b 1
)

echo 项目成功推送到远程仓库!
echo 仓库地址: %REMOTE_URL%
pause